import dayjs from 'dayjs'
// 时间戳转换
/**
 * 时间日期转换
 * @param date 当前时间，new Date() 格式
 * @param format 需要转换的时间格式字符串
 * @description format 字符串随意，如 `YYYY-mm、YYYY-mm-dd`
 * @description format 季度："YYYY-mm-dd HH:MM:SS QQQQ"
 * @description format 星期："YYYY-mm-dd HH:MM:SS WWW"
 * @description format 几周："YYYY-mm-dd HH:MM:SS ZZZ"
 * @description format 季度 + 星期 + 几周："YYYY-mm-dd HH:MM:SS WWW QQQQ ZZZ"
 * @returns 返回拼接后的时间字符串
 */
export const formatDate = (date: Date, format?: string): string => {
  // 日期不存在，则返回空
  if (!date) {
    return ''
  }
  // 日期存在，则进行格式化
  return date ? dayjs(date).format(format ?? 'YYYY-MM-DD') : ''
}

/*00:01:710 转成秒*/
export const timeToSeconds = (timeString) => {
  const parts = timeString.split(':')
  const minutes = parseInt(parts[0], 10)
  const seconds = parseInt(parts[1], 10)
  const milliseconds = parseInt(parts[2], 10)

  const totalSeconds = minutes * 60 + seconds + milliseconds / 1000
  return totalSeconds
}
/*当前时间*/
export const getNowFormatDate = () => {
  const date = new Date()
  const obj = {
    year: date.getFullYear(), //获取完整的年份(4位)
    month: date.getMonth() + 1, //获取当前月份(0-11,0代表1月)
    strDate: date.getDate(), // 获取当前日(1-31)
    hour: date.getHours() >= 10 ? date.getHours() : '0' + date.getHours(), //获取当前小时(0 ~ 23)
    minute: date.getMinutes() >= 10 ? date.getMinutes() : '0' + date.getMinutes(), //获取当前分钟(0 ~ 59)
    second: date.getSeconds() >= 10 ? date.getSeconds() : '0' + date.getSeconds() //获取当前秒数(0 ~ 59)
  }
  return `${obj.year}/${obj.month}/${obj.strDate} ${obj.hour}:${obj.minute}:${obj.second}`
}
export function formatDates(date: Date, format?: string): string {
  // 日期不存在，则返回空
  if (!date) {
    return ''
  }
  // 日期存在，则进行格式化
  return date ? dayjs(date).format(format ?? 'YYYY/MM/DD HH:mm:ss') : ''
}
